Supporting Ada 95 Passive Partitions in a Distributed Environment

نویسنده

  • Frank Mueller
چکیده

Ada 95 passive partitions, containing passive library units, provide the means to distribute data within a network of workstations. This paper shows how passive partitions can be implemented via distributed shared virtual memory (DSM). DSM provides the logical view of a portion of memory shared between physically distributed workstations within a network. In this paper, we relate design issues and operational characteristics of DSM systems to the semantics of shared passive library units as speciied in the Ada 95 distributed system annex. We designed and implemented such a DSM system, operating at the granularity of pages, in a portable fashion over POSIX threads. The DSM system establishes its own communication services and is completely independent of any Ada runtime system support. Protected objects are supported via a novel prioritized protocol for distributed mutual exclusion. We integrated the DSM system with the Gnu Ada Translator (Gnat) and its environment to support active partitions. The DSM system integration required minimal changes to the Gnat environment and remains completely transparent to the user and the Ada runtime system. This is the rst implementation of shared passive library units within an Ada 95 compilation environment, to our knowledge. The DSM support can provide considerable performance advantages over alternative approaches with repeated remote accesses, since with DSM only the rst access to remote data results in communication overhead while consecutive accesses may take the same time as local memory accesses. Using the DSM paradigm, distributed applications can be designed to access distributed shared data eeciently. Furthermore, the shared memory model inherent to the Ada language can be used without modiications in a distributed environment.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Fault Tolerance by Transparent Replication for Distributed Ada 95

This paper presents the foundations of RAPIDS (“Replicated Ada Partitions In Distributed Systems”), an implementation of the Distributed Systems Annex E incorporating the transparent replication of partitions in distributed Ada 95 applications. RAPIDS is a replication manager for semi–active replication based on a piecewise deterministic computation model. It guarantees replica consistency for ...

متن کامل

Supporting distribution and dynamic reconfiguration in AdaPT

It is widely accepted that Ada83 provides inadequate support for the programming of distributed systems. Ada9X has introduced a unit of distribution called a partition. Partitions comprise aggregations of library units that collectively may execute in a distributed target execution environment. Each partition corresponds to a single execution site where all its library units occupy the same log...

متن کامل

CIAO Opening the Ada 95 Distributed Systems Annex to CORBA Clients

While the Distributed Systems Annex of Ada 95 provides developers with a framework for easy contruction of safe distributed systems, integrating distribution seamlessly in the strong typing and well-defined semantics of Ada, it lacks the cross-platform, multiple-languages capabilities offered by CORBA. This paper presents CIAO (CORBA Interface for Ada distributed Objects), a tool for automated ...

متن کامل

Shared Packages Through Linda

This paper describes a method to implement the functionality of shared passive packages on top of a logical distributed memory — Linda. From a shared passive package a compiler can construct a new normal package that replaces the shared passive package. The new package contains the same subprograms and is extended with abstract data structures mapping Ada objects onto the storage units of Linda...

متن کامل

Coordinated Exception Handling in Distributed Object Systems: From Model to System Implementation

Exception handling in distributed and concurrent programs is a difficult task though it is often necessary. In many cases traditional mechanisms for sequential programs are no longer appropriate. One major difficulty is that the process of handling an exception may need to involve multiple concurrent components when they are cooperating to solve a global problem. Another complication is that se...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1997